Soru & Cevap

Navigation Drawer 2019 Android Studio

19.08.2019 - 03:59

Merhaba arkadaşlar. Navigation Drawer Kullanarak uygulama geliştirmek için ugrasıyorum kotlin ve javayı orta seviye de bilmekteyim fakat içinden cıkamadıgım bır durum var. 2018 ve öncesinde kotlin dilinde navigation drawer dersleri verenlerde onNavigationItemSelected(ıtem:MenuItem) ........  methodu ile rahatça menulerını vs düzenliyorlar. Güncel versiyonda ise böyle bir method kullanılmıyor sanırım ve ben menü geçişlerini yapamıyorum. Sizden ricam MainActivity de yazan şu kodları bana anlatmanız. Hangisi ne işi yarıyor diye. Ya da menü geçişlerini nerden nasıl yaparım? 

 

 

package com.creativeoffice.motoruygulamasi

import android.os.Bundle
import com.google.android.material.floatingactionbutton.FloatingActionButton
import com.google.android.material.snackbar.Snackbar
import androidx.navigation.findNavController
import androidx.navigation.ui.AppBarConfiguration
import androidx.navigation.ui.navigateUp
import androidx.navigation.ui.setupActionBarWithNavController
import androidx.navigation.ui.setupWithNavController
import androidx.drawerlayout.widget.DrawerLayout
import com.google.android.material.navigation.NavigationView
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.widget.Toolbar
import android.view.Menu

class MainActivity : AppCompatActivity() {

    private lateinit var appBarConfiguration: AppBarConfiguration

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        val toolbar: Toolbar = findViewById(R.id.toolbar)
        setSupportActionBar(toolbar)

        val fab: FloatingActionButton = findViewById(R.id.fab)
        fab.setOnClickListener { view ->
            Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                .setAction("Action", null).show()
        }
        val drawerLayout: DrawerLayout = findViewById(R.id.drawer_layout)
        val navView: NavigationView = findViewById(R.id.nav_view)
        val navController = findNavController(R.id.nav_host_fragment)
        // Passing each menu ID as a set of Ids because each
        // menu should be considered as top level destinations.
        appBarConfiguration = AppBarConfiguration(
            setOf(
                R.id.nav_home, R.id.nav_gallery, R.id.nav_slideshow,
                R.id.nav_tools, R.id.nav_share, R.id.nav_send
            ), drawerLayout
        )
        setupActionBarWithNavController(navController, appBarConfiguration)
        navView.setupWithNavController(navController)
    }

    override fun onCreateOptionsMenu(menu: Menu): Boolean {
        // Inflate the menu; this adds items to the action bar if it is present.
        menuInflater.inflate(R.menu.main, menu)
        return true
    }

    override fun onSupportNavigateUp(): Boolean {
        val navController = findNavController(R.id.nav_host_fragment)
        return navController.navigateUp(appBarConfiguration) || super.onSupportNavigateUp()
    }
}

 

110 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user abdulkadir86
abdulkadir86
13.09.2019 - 05:21

Merhaba, Bende aynen bu konuda takılıp kaldım. Hazır template çok güzel ama nasıl geçiş yapıcam bilemedim. Bir cevap bulabildiniz mi konu hakkında?

Yasin
14.10.2019 - 10:24
Cevap buldum dostum biraz karışıkte olsa anlatabilirim. Navigation'a menü eklediysen ona tıklanmayı mobile navigation diye bır xml var onun üzerinden ayarlayabiliyorsun